//@author A0096466N
//
// **********
//
// constvariables.h simply maintains all the
// constant variables in the entire program
//
//
// **********

#ifndef CONSTVARIABLES_H
#define CONSTVARIABLES_H

#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <fstream>
#include <sstream>
#include <time.h>
#include <assert.h>

using namespace std;

const int DAYS[12]= {31,28,31,30,31,30,31,31,30,31,30,31};
const int MAX_SIZE = 100;
const int NIL = 0;

const char DOT= '.';
const char SYMBOL_DATE_IN_SECONDS = '&';
const char SLASH = '/';
const char SYMBOL_PRIORITY = '!';
const char SYMBOL_TIME = '@';
const char SYMBOL_STATUS = '*';
const char WHITE_SPACE = ' ';
const char CHAR_ZERO= '0';
const char CHAR_NINE= '9';

const string ADD = "add";
const string ADD_BY = "by ";
const string ADD_IN = "in ";
const string ADD_ON = "on ";
const string ALL = "all";
const string ARCHIVE = "archive";

const string CMI = "cmi";
const string CHECK_DASH= "-";
const string CHECK_TO= "to";
const string COLON= ":";
const string CONVERT_AT= " @ ";
const string CONVERT_BY= " by ";
const string CONVERT_PRIORITY= " ! ";
const string CONVERT_CMI= " * cmi";
const string CONVERT_DONE= " * done";
const string CONVERT_ARCHIVE= " * archive";
const string CONVERT_AND= " & ";
const string CLASH_FEEDBACK1 = "Timing clash involving no ";
const string CLASH_FEEDBACK2 = " & ";
const string STAR_AND= "*&";

const string DASH = "-";
const string DATED = "dated";
const string DATELESS = "dateless";
const string DAY_AFTER_TOMORROW = "the day after tomorrow";
const string DAY_AFTER_TMR = "the day after tmr"; 
const string DELETE_ = "delete";
const string DEFAULT = "default";
const string DEADLINE = "deadline";
const string DONE = "done";
const string DISPLAY = "display";
const string DATE_SLASH= "/";
const string DINNER= "dinner";
const string DISPLAYING_FEEDBACK = "Displaying ";
const string DISPLAY_EMPTY_FEEDBACK = "Nothing to Display";

const string EMPTY = "";
const string EXIT = "exit";

const string FILENAME_LOGGER = "logger.txt";
const string FILENAME_SCHEDULE = "schedule.txt";
const string FILTER= "filter";
const string FIND_DAY = "day";
const string FIND_THIS= "this";
const string FIND_NEXT= "next";
const string FRIDAY = "friday";
const string FRI = "fri";
const string FILTER_EMPTY_FEEDBACK = "Nothing displayed, unable to filter";
const string FILTER_FEEDBACK1 = "filtered away '";
const string FILTER_FEEDBACK2 = "'";

const string HIGH = "high";
const string HIGH_FAST = "h";

const string LASTCMD = "Last Command: ";
const string LASTCMDHELP = "Last command: Help(F1)";
const string LASTCMDREMINDER = "Last command: Reminder(F2)";
const string LASTCMDDISPLAY = "Last command: Display(F3)";
const string LASTCMDSEARCH = "Last command: Search(F4) ";
const string LASTCMDUNDO = "Last command: undo(clt z)";
const string LASTCMDREDO = "Last command: redo(clt y)";
const string LATER= "later";
const string LOW = "low";
const string LOW_FAST = "l";
const string LUNCH = "lunch";

const string MARK = "mark";
const string MEDIUM = "medium";
const string MEDIUM_FAST = "m";
const string MODIFY = "modify";
const string MONDAY = "monday";
const string MON = "mon";
const string MARK_FEEDBACK1 = "' as '";
const string MARK_FEEDBACK2 = "'";
const string MARK_SAME_STATUS_FEEDBACK = "Task already has that status";
const string MODIFY_FEEDBACK = "modified from '";
const string MODIFY_FEEDBACK1 = "' to '";
const string MODIFY_FEEDBACK2 = "'";
const string MODIFY_SAME_STATUS_FEEDBACK = "modified input is the same as stored input";
const string MODIFY_NIL_FEEDBACK = "modified year, not visible in display";

const string NEXT_WEEK = "next week"; 

const string PRIORITY = "priority";

const string REDO = "redo";
const string REMINDER = "reminder";
const string RESET = "reset";
const string RESETTED_FEEDBACK = "Schedule has been reset";
const string REMINDER_NIL_FEEDBACK = "No tasks in the near future";
const string REMINDER_FEEDBACK = "Displaying reminders";
const string REDONE = "redone ";

const string SATURDAY = "saturday";
const string SAT = "sat";
const string SEARCH = "search";
const string SEARCHES = "search ";
const string SORT= "sort";
const string SPACE= " ";
const string SPECIFIED_AM= "am";
const string SPECIFIED_PM= "pm";
const string SUPPER= "supper";
const string SUNDAY = "sunday";
const string SUN = "sun";
const string SEARCH_NIL_FEEDBACK = "No Matches for Search";
const string SEARCH_FEEDBACK = "Displaying search matches";
const string SORT_NIL_FEEDBACK = "Nothing displayed, unable to sort";
const string SORT_FEEDBACK = "sorted by ";

const string TASK = "task";
const string TODAY= "today";
const string TOMORROW = "tomorrow";
const string TIME = "time";
const string TIMED = "timed";
const string TIMELESS = "timeless";
const string THURSDAY = "thursday";
const string THU = "thu";
const string TMR = "tmr";
const string TUESDAY = "tuesday";
const string TUE = "tue";

const string UNDO = "undo";

const string WEDNESDAY = "wednesday";
const string WED = "wed";
const string WIP = "...";
const string WORK_IN_PROGRESS = "wip";

const string ZEROS= "00";
const string ZERO = "0";

#endif